diff --git a/sympy/printing/pretty/pretty.py b/sympy/printing/pretty/pretty.py
index 0545797d5f..39aa01bcc7 100644
--- a/sympy/printing/pretty/pretty.py
+++ b/sympy/printing/pretty/pretty.py
@@ -821,16 +821,13 @@ def _print_BlockMatrix(self, B):
     def _print_MatAdd(self, expr):
         s = None
         for item in expr.args:
-            pform = self._print(item)
-            if s is None:
-                s = pform     # First element
+            if item.is_Mul and _coeff_isneg(item):
+                pform = self._print(item)
+                s = prettyForm(*stringPict.next(s, ' '))
             else:
-                if S(item.args[0]).is_negative:
-                    s = prettyForm(*stringPict.next(s, ' '))
-                    pform = self._print(item)
-                else:
-                    s = prettyForm(*stringPict.next(s, ' + '))
-                s = prettyForm(*stringPict.next(s, pform))
+                pform = self._print(item)
+                s = prettyForm(*stringPict.next(s, ' + '))
+            s = prettyForm(*stringPict.next(s, pform))
 
         return s
 
